Many computer applications are used to store confidential information. For example, an application may store confidential information such as password information, medical information, financial information or personal contact information. A user may be required to enter login credentials before the user is permitted to access the confidential information. For example, a user may be presented with a login screen that includes an input form for receiving a username and password. After the user has submitted the login credentials, the application may determine whether the login credentials are valid. If the login credentials are determined to be valid, the user is given access to the confidential information that is maintained by the application. On the other hand, the user may be denied access to the confidential information if the login credentials are not valid.
Providing access to confidential information in the manner described above presents security concerns. The traditional login interface invites unauthorized users to enter login credentials and to attempt to improperly gain access to the confidential information that is protected by the application. Hackers or other unauthorized users are aware that they are able to gain access to the confidential information if they are able to enter valid login credentials via the application's login interface. Because the unauthorized users are aware of the location of the login interface, they can attempt to access the confidential information by manually entering login credentials or by writing password cracking programs. While some applications incorporate additional security features as part of the login process (e.g., limiting the number of invalid login attempts that are permitted), there is still a relatively high risk that unauthorized users may gain access to underlying confidential information that is maintained by the application. Thus, there is a need to provide a means for accessing confidential information that eliminates, or at least minimizes, these risks.